package com.yf.service.chat;

import com.yf.model.ai.form.AiPromptForm;
import org.springframework.ai.chat.model.ChatResponse;
import reactor.core.publisher.Flux;

/**
 * AiService
 *
 * @author : YiFei
 * @since : 2024/6/7 9:30
 */
public interface IDeepSeekService {

    /**
     * 调用 DeepSeek 模型
     *
     * @param aiPromptForm 提问表单
     * @return 流式响应
     */
    Flux<ChatResponse> callStream(AiPromptForm aiPromptForm);

    /**
     * 重试AI输出
     *
     * @param conversationId 重试消息
     * @return 流式响应
     */
    Flux<ChatResponse> retry(Long conversationId);

    /**
     * 删除消息
     *
     * @param conversationId 消息ID
     * @return 是否删除成功
     */
    Boolean deleteMessage(Long conversationId);
}
